home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amoszine 11
/
Amoszine 11 (Disk 2 of 2).adf
/
Demos_Source_II.lha
/
Demo4.Amos
/
Demo4.amosSourceCode
< prev
next >
Wrap
AMOS Source Code
|
1992-09-02
|
3KB
|
97 lines
' *************************************
' * *
' * Demo 6 V1.0 *
' * Written by Chris Hodges *
' * *
' *************************************
'
Close Workbench : Close Editor : Hide
'Load "LostInTime.abk",3
Unpack 10 To 0 : Screen Hide 0
S$=" ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789?!.-:"
For A=0 To Len(S$)-1
Get Block Asc(Mid$(S$,A+1,1))-31,(A mod 7)*48,(A/7)*72,41,72
Next
Screen Open 0,784,72,8,0
Curs Off : Flash Off : Cls 0
Screen Display 0,128,209,320,72
Palette 0,$FFF,$DDF,$BBF,$99F,$77F,$55F,$33F,0,0,0,0
For A=15 To 31 : Colour A,0 : Next
Screen Open 1,640,72,4,0
Palette 0,0,0,0
Curs Off : Flash Off : Cls 1
Y=Rnd(40)+20 : YY=Y
For X=0 To 319
Ink 2 : Draw X,Y To X,Y+Y/2
Ink 3 : Draw To X,72
Y=Min(Max(Y+Rnd(4)-2,20),60)
If Abs(Y-YY)>319-X Then Y=Y-Sgn(Y-YY)*2
Next
Set Rainbow 1,9,72,"","",""
R=0 : G=0
For A=1 To 72
Rain(1,A-1)=R*256+G*16
If A and 1 Then R=Min(R+1,15) : If R=15 and(A and 4) Then Inc G
Next
Screen Copy 1,0,0,319,72 To 1,320,0
Screen Display 1,128,209,320,72
Wait Vbl
Dual Playfield 0,1
B$="L R2=Y; A: L R2=R2+1; P; L Y=R2; I R2>279 J B; "
B$=B$+"D: L R0=V("
C$=") ; I R0>0 J C; "
C$=C$+" J A; "
C$=C$+"B: L R2=279; J D; "
C$=C$+"C: L R2=279-R0; J A; "
For A=0 To 3
Sprite A*2,158+A*80,232,3
Channel A+1 To Sprite A*2
Amal A+1,B$+Str$(A)+C$
Next
Channel 7 To Screen Offset 1
A$="L X=1; A: P; L X=X+2; I X<320 J A; L X=1; J A; "
Amal 7,A$
A$="L R0=0; L R1=350; "
A$=A$+"A: P; L Y=R0+R1/10; L R1=R1+R0; L R0=R0+2; I R1<1250 J A; L R0=2-R0; L RA=1; J A; "
B$="L R0=23; L X=630; A: P; L X=X+R0; I X>640 J B; L R0=R0+1; J A; "
B$=B$+"B: L R0=R0-1; J A; "
Channel 5 To Screen Display 2
Channel 6 To Screen Offset 2
Unpack 9 To 2
Amal 5,A$
Amal 6,B$
Screen Display 2,128,60,320,91 : Screen To Back 2
Rainbow 1,0,208,72
Amal On
Mvolume 55
Music 1 : Tempo 17
Screen 0
Colour 10,$100 : Colour 11,$200
Colour 17,$FF : Colour 18,$CC : Colour 19,$88
Colour 21,$FF0 : Colour 22,$CC0 : Colour 23,$880
Colour 25,$F0F : Colour 26,$C0C : Colour 27,$808
Colour 29,$F0 : Colour 30,$C0 : Colour 31,$80
S$="HOTSOFT PRESENTS THE LATEST DEMO WRITTEN IN AMOS! EVERYTHING WAS "
S$=S$+"DONE BY C. HODGES! ALL MOVEMENT IN THIS DEMO IS CONTROLLED "
S$=S$+"BY AMAL EXCEPT THE SCROLLER. IT IS THE ONLY THING I MUST MANAGE "
S$=S$+"WITHIN THE MAIN LOOP. IF YA WANNA EVEN MORE OR NEED SOME HELP CONTACT "
S$=S$+"ME! SEE YA IN THE NEXT DEMO!!! "
S=0 : PX=31
F=Free
Sprite Priority 0
Repeat
Add XX,6 : Add PX,6 : If PX>48 Then Gosub NL
Screen Offset 0,XX+55+SP, : Wait Vbl
Until Mouse Key
Amal Off : Sprite Off : Rainbow Del : Music Off
Screen Close 0 : Screen Close 1 : Screen Close 2
Del Block
End
NL:
PX=PX-48
XX=XX+(XX>383)*384
Add S,1,1 To Len(S$)
B=Asc(Mid$(S$,S,1))
Put Block B-31,384+XX-PX,7
Put Block B-31,XX-PX,7
Return